package cn.com.surker.sale.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 销售项目累计结算表
 * </p>
 *
 * @author admin
 * @since 2024-05-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SaleBillPayment implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司
     */
    private String orgName;

    /**
     * 项目ID
     */
    private Long conId;

    /**
     * 项目名称
     */
    private String conName;

    /**
     * 累计生产量
     */
    private Double proStere;
    /**
     * 累计生产产值
     */
    private Double proPrice;

    /**
     * 累计结算方量
     */
    private Double billStere;

    /**
     * 累计结算金额
     */
    private Double billPrice;

    /**
     * 累计付款金额
     */
    private Double payment;

    /**
     * 累计生产值欠款金额
     */
    private Double arrears;
    /**
     * 累计结算欠款金额
     */
    private Double billArrears;

    /**
     * 累计开票金额
     */
    private Double ticket;

    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 是否审核(0:未审核,1:已审核)
     */
    private Integer isCheck;

    /**
     * 审核备注，当审核结果为不通过时，必填
     */
    private String remark;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 记录日志
     */
    private String logs;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private String updater;

    private String today;
    @TableField(exist = false)
    private Double rate;

    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
    private Date updateTime;

    public SaleBillPayment(){}

    public SaleBillPayment(Long orgId, String orgName, Long conId, String conName, String today, Double proStere,
                           Double proPrice, Double billStere, Double billPrice, Double payment, Double arrears, Double billArrears, Double ticket,
                           Integer status, String remark, String creater, Date createTime) {
        this.orgId = orgId;
        this.orgName = orgName;
        this.proStere = proStere;
        this.conId = conId;
        this.proPrice = proPrice;
        this.conName = conName;
        this.billStere = billStere;
        this.billPrice = billPrice;
        this.payment = payment;
        this.arrears = arrears;
        this.ticket = ticket;
        this.status = status;
        this.today = today;
        this.remark = remark;
        this.creater = creater;
        this.createTime = createTime;
        this.billArrears = billArrears;
    }
}
